Run length limited (RLL) codes with an even-consecutive-zero constraint (i.e., an even number of "0" code bits between each "1" code bit) in addition to the usual d,k constraints, have heretofore been proposed and are designated (d,k,2).
For example, U.S. Pat. No. 4,928,187 describes a (2,8,2) code which means that it has run lengths of either 2, 4, 6 or 8 "0" code bits between each "1" code bit. This code is described as useful for a magnetic or optical medium data storage system. It has a rate 1/3, which means that for every data bit three code bits are required.
In the IEEE Transactions Magnetics, MAG-18, pp. 772-775 published in 1982, Funk described a similar rate 1/3 code satisfying the (2,8,2) constraint for magnetic recording.
In the Proceedings of the Optical Data Storage Topical Meeting (1989) reported in SPIE Vol. 1078 at pp. 265-270, it was reported that a rate 2/5 (2,18,2) code can be constructed using sliding block code techniques. However, no information was provided on how the code can be constructed or implemented. This (2,18,2) code requires five code bits for every two data bits and hence has a higher rate than the rate 1/3 codes. It is especially suitable for use with a resonant coil magneto-optic direct overwrite technique such as that described in U.S. Pat. No. 4,872,078, which discloses the only presently known field modulation overwrite technique compatible with parallel recording.
The (2,18,2) code has been found to be (a) superior to the (1,7), (2,7) and (2,8,2) codes when used for pulse width modulation (PWM) recording with either maximum slope or threshold detection channels; (b) superior to all other codes thus far modeled for optical partial response maximum likelihood (PRML) type channels, including (1,7) at linear densities above 45 kbpi; and (c) less susceptible to the effects of domain size variation. The main advantage of the (2,18,2) code in bit-by-bit detection is due to the wider detection window for a given user data density. The wide window is a consequence of the even-zero constraint which disallows every other clock period as a potential edge location.
There is a need for a practical method for encoding and decoding a rate 2/5 (2,18,2) code.